/*
给你一个 非严格递增排列 的数组 nums ，请你 原地 删除重复出现的元素，使每个元素 只出现一次 ，返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。

考虑 nums 的唯一元素的数量为 k ，你需要做以下事情确保你的题解可以被通过：

更改数组 nums ，使 nums 的前 k 个元素包含唯一元素，并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。
返回 k 。
*/
// https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/?envType=problem-list-v2&envId=array&



#include<iostream>
#include<vector>

class Solution {
public:
    int removeDuplicates(std::vector<int>& nums) {
        int size = nums.size();
        std::vector<int> expectedNums;

        for(int i=0;i<size;i++){
            if((i>0)&&nums[i]==nums[i-1]){
                continue;
            }
            expectedNums.push_back(nums[i]);
        }
        for(int j=0;j<expectedNums.size();j++){
            nums[j] = expectedNums[j];
        }
        return expectedNums.size();
    }
};


int main (){ 
    std::vector<int> nums = {0,2,3,3,4,5,6,6,6,7};
    int i = 0;

    Solution leet =  Solution();
    i = leet.removeDuplicates(nums);
    std::cout << i << std::endl;


    return 0;
}